//////////////////////////////////////////////////////////////////////////
#pragma once
#pragma managed
//////////////////////////////////////////////////////////////////////////
using namespace System;
using namespace System::Runtime::InteropServices;
//////////////////////////////////////////////////////////////////////////
NAMESPACE_BEGIN
//////////////////////////////////////////////////////////////////////////
public enum class EigenObjectIOFlag
{
	NoCallback = CV_EIGOBJ_NO_CALLBACK,
	InputCallback = CV_EIGOBJ_INPUT_CALLBACK,
	OutputCallback = CV_EIGOBJ_OUTPUT_CALLBACK,
	BothCallback = CV_EIGOBJ_BOTH_CALLBACK,
};

public enum class CorrespondenceRetrievalMode
{
	DisparityBirchfield = CV_DISPARITY_BIRCHFIELD,
};

public enum class ConvertWarpDirection
{
	CameraToWarp = CV_CAMERA_TO_WARP,
	WarpToCamera = CV_WARP_TO_CAMERA,
};

public enum class GLCMOptimizationType
{
	/// <summary>
	/// CV_GLCM_OPTIMIZATION_NONE
	/// </summary>
	None = CV_GLCM_OPTIMIZATION_NONE,
	/// <summary>
	/// CV_GLCM_OPTIMIZATION_LUT
	/// </summary>
	Lut = CV_GLCM_OPTIMIZATION_LUT,
	/// <summary>
	/// CV_GLCM_OPTIMIZATION_HISTOGRAM
	/// </summary>
	Histogram = CV_GLCM_OPTIMIZATION_HISTOGRAM,
};

public enum class GLCMDescOptimizationType
{
	/// <summary>
	/// CV_GLCMDESC_OPTIMIZATION_ALLOWDOUBLENEST
	/// <summary>
	AllowDoublenest = CV_GLCMDESC_OPTIMIZATION_ALLOWDOUBLENEST,
	/// <summary>
	/// CV_GLCMDESC_OPTIMIZATION_ALLOWTRIPLENEST
	/// <summary>
	AllowTriplenest = CV_GLCMDESC_OPTIMIZATION_ALLOWTRIPLENEST,
	/// <summary>
	/// CV_GLCMDESC_OPTIMIZATION_HISTOGRAM
	/// <summary>
	Histogram = CV_GLCMDESC_OPTIMIZATION_HISTOGRAM,
};

public enum class GLCMDescType
{
	/// <summary>
	/// CV_GLCMDESC_ENTROPY
	/// <summary>
	Entropy = CV_GLCMDESC_ENTROPY,
	/// <summary>
	/// CV_GLCMDESC_ENERGY
	/// <summary>
	Energy = CV_GLCMDESC_ENERGY,
	/// <summary>
	/// CV_GLCMDESC_HOMOGENITY
	/// <summary>
	Homogenity = CV_GLCMDESC_HOMOGENITY,
	/// <summary>
	/// CV_GLCMDESC_CONTRAST
	/// <summary>
	Contrast = CV_GLCMDESC_CONTRAST,
	/// <summary>
	/// CV_GLCMDESC_CLUSTERTENDENCY
	/// <summary>
	ClusterTendency = CV_GLCMDESC_CLUSTERTENDENCY,
	/// <summary>
	/// CV_GLCMDESC_CLUSTERSHADE
	/// <summary>
	ClusterShade = CV_GLCMDESC_CLUSTERSHADE,
	/// <summary>
	/// CV_GLCMDESC_CORRELATION
	/// <summary>
	Correlation = CV_GLCMDESC_CORRELATION,
	/// <summary>
	/// CV_GLCMDESC_CORRELATIONINFO1
	/// <summary>
	CorrelationInfo1 = CV_GLCMDESC_CORRELATIONINFO1,
	/// <summary>
	/// CV_GLCMDESC_CORRELATIONINFO2
	/// <summary>
	CorrelationInfo2 = CV_GLCMDESC_CORRELATIONINFO2,
	/// <summary>
	/// CV_GLCMDESC_MAXIMUMPROBABILITY
	/// <summary>
	MaximumProbability = CV_GLCMDESC_MAXIMUMPROBABILITY,
};

public enum class GLCMReleaseFlag
{
	/// <summary>
	/// CV_GLCM_ALL
	/// <summary>
	All = CV_GLCM_ALL,
	/// <summary>
	/// CV_GLCM_GLCM
	/// <summary>
	GLCM = CV_GLCM_GLCM,
	/// <summary>
	/// CV_GLCM_DESC
	/// <summary>
	DESC = CV_GLCM_DESC,
};

public enum class FaceElements
{
	/// <summary>
	/// CV_FACE_MOUTH
	/// <summary>
	Mouth = CV_FACE_MOUTH,
	/// <summary>
	/// CV_FACE_LEFT_EYE
	/// <summary>
	LeftEye = CV_FACE_LEFT_EYE,
	/// <summary>
	/// CV_FACE_RIGHT_EYE
	/// <summary>
	RightEye = CV_FACE_RIGHT_EYE,
};

public enum class GraphWeightType
{
	Not = CV_NOT_WEIGHTED,
	Vertex = CV_WEIGHTED_VTX,
	Edge = CV_WEIGHTED_EDGE,
	All = CV_WEIGHTED_ALL,
};

public enum class LeeParameters
{
	INT = CV_LEE_INT,
	FLOAT = CV_LEE_FLOAT,
	DOUBLE = CV_LEE_DOUBLE,
	AUTO = CV_LEE_AUTO,
	ERODE = CV_LEE_ERODE,
	ZOOM = CV_LEE_ZOOM,
	NON = CV_LEE_NON,
};

public enum class BGModelType
{
	FGD = CV_BG_MODEL_FGD,
	MOG = CV_BG_MODEL_MOG,
	FGDSimple = CV_BG_MODEL_FGD_SIMPLE,
};
//////////////////////////////////////////////////////////////////////////
NAMESPACE_END
//////////////////////////////////////////////////////////////////////////